home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 20
/
Cream of the Crop 20 (Terry Blount) (1996).iso
/
os2
/
xdsn217.zip
/
DOC
/
intro.txt
< prev
next >
Wrap
Text File
|
1996-07-10
|
24KB
|
678 lines
INTRO.TXT Copyright (c) 1991,96 xTech Ltd
----------------------------------------------------------------
Native XDS-x86 OS/2 Edition
---------------------------
v2.17 (pre-release)
Introduction
XDS is a professional development system available for most popular
platforms, including OS/2, Linux, Windows NT, Windows 95, PC/MS-DOS,
Unix workstations (Sun, HP, DEC, MIPS, etc), etc. via the C generation.
The native code compilers are available currently for OS/2, Linux,
Windows NT, and Windows 95. The previous version of XDS was known as
"Extacy". The native code versions of the system were distributed
as "Extacy.EXE" and "OM2".
XDS contains both Modula-2 and Oberon-2 compilers. The source
language of XDS Modula-2 compiler is fully compatible with ISO
Modula-2 standard. We are expecting that adaptation of the ISO
standard will cause the new wave of interest to Modula-2. The ISO
Modula-2 includes features important for industry programming such
as standard library set, exceptions, and support of concurrency.
Oberon-2 is an object-oriented programming (OOP) language based
on Modula-2. With introduction of object-oriented facilities,
extensible project design became much easier. Meanwhile Oberon-2
is quite simple and easy to learn and use, unlike other OOP
languages such as C++ or Smalltalk.
Moving to a new language usually means throwing away or rewriting
your existing library set which could have been the work of many
years. XDS allows programmer to mix Modula-2, Oberon-2, C and
Assembler modules and libraries in a single project.
XDS includes subsets of standard ISO and PIM Modula-2 libraries
complete with ANSI C standard interface which can be accessed
and used from both Modula-2 and Oberon-2.
About the pre_release Version
-----------------------------
This version is a pre-release distribution of XDS OS/2 package,
including:
- "xds" - interactive programming environment
- "xc" utility, which combines Modula-2 and Oberon-2
to compilers and "make" facilities
- ISO Modula-2 Library
- A subset of the PIM Compliant Library
- A subset of the ANSI C Library Interfaces
The "xc" utility will only operate on computers that are IBM PS2
or IBM AT compatible and contain an 80386 processor (with numerical
coprocessor) or better.
Using XDS
---------
The XDS Modula-2 and Oberon-2 compilers are activated from a
single utility "xc". When invoked without parameters, the
utility shows some "help" information. The working configuration
includes:
xc.exe Modula-2/Oberon-2 development system
xc.msg Contains texts of error messages
xc.red Search path redirection file (optional)
xc.cfg Configuration file (optional)
When invoked the "xc" tries to locate the xc.red file in the
current directory or in the directory where "xc.exe" (C:\XDS\BIN)
is placed.
Other system files ("xc.msg" and "xc.cfg") are sought by paths
defined by "xc.red". If "xc.red" is not found, or it does not
contain paths for a system file, the system file is sought in the
current directory or in the directory where "xc.exe" is
placed.
Redirection File
----------------
The file "xc.red" consists of several lines of the form:
pattern = directory_path {";" directory_path}
Example of redirection file:
*.def = def
*.mod = mod
*.sym = sym; c:\xds\sym;
xc.cfg = .; c:\xds\bin
XDS will search definition modules in the "def" sub-directory,
symbol files in the "sym" sub-directory and then in "c:\xds\sym"
and files "xc.cfg", "xc.msg" will be sought in the current
directory and then in "c:\xds\bin".
Configuration File
------------------
The configuration file can be used to set the default values of
options and equations.
When invoked, XDS searches for configuration file "xc.cfg".
Every line in the configuration file can contain only one
compiler option or equation setup directive. It is possible to
put comment lines into configuration file. Comment lines should
start with a "%" symbol.
setup_directive = declare_option
| declare_synonym
| set_option_on
| set_option_off
| set_equation
declare_option = '-' name ':' [ '+' | '-' ]
declare_synonym = '-' name ':=' name
set_option_on = '-' name '+'
set_option_off = '-' name '-'
set_equation = '-' name ['='] value
To set an option ON, use "-OPTION+" directive.
To set an equation, use "-OPTION = VALUE" directive.
Option and equation names are case independent. Arbitrary spaces
are permitted in the configuration file.
Example:
% this is a comment
% equation option - set Oberon-2 file extension
- Oberon = ob2
% boolean option - allow Modula-2 extensions
- M2extensions +
% end of configuration file
Invoking XDS
------------
"xc" is invoked from the command line of the following form
xc { OPERATION MODE | OPTION | NAME }
where NAME for different operation modes is a module name, file
name or a project name.
XDS has the following modes of operation:
Mode | Meaning
------------+---------------------------------------------------
COMPILE | Compile all modules given in the command line
PROJECT | Make all projects given in the command line
MAKE | Check dependencies and recompile
GEN | Generate makefile for all projects
BROWSE | Extract definitions from symbol files
HELP | Print help and abort the program
------------+---------------------------------------------------
Both the PROJECT and MAKE modes have two optional submodes of
operation: BATCH and ALL. Two auxiliary operation submodes -
OPTIONS and EQUATIONS can be used to inspect the set of compiler
options and equations and their values.
From the command line, the compiler mode is set using '=',
followed by the required mode. Only the unique portion of a name
need be specified. Operation mode names are not case sensitive,
thus
=PROJECT is equivalent to =p
=BROWSE is equivalent to =Bro
Operation modes and options can be placed everywhere in the
command line. Thus the following two invocation are equal:
xc =make hello.mod =all -checknil+
xc -checknil+ =a =make hello.mod
COMPILE mode
------------
xc [=compile] { FILENAME | OPTION }
COMPILE is the default mode, and can be invoked simply by
supplying "xc" with a source module(s) to compile. If xc is
invoked without a given mode, COMPILE mode is assumed. In order
to determine which compiler to use, xc looks at the extensions of
given source files. The default mapping of extensions is given
below :
.mod - Modula-2 implementation module
.def - Modula-2 definition module
.ob2 - Oberon-2 module
For example:
xc hello.mod
will invoke Modula-2 compiler, whilst:
xc hello.ob2
will invoke Oberon-2 compiler.
The user is able to reconfigure the extension mapping. It is
also possible to override this extension mapping from the
command line, using options M2 and O2:
xc hello.mod +o2 (* invokes O2 compiler *)
xc hello.ob2 +m2 (* invokes M2 compiler *)
MAKE mode
---------
xc =make [=batch] [=all] { FILENAME | OPTION }
In the MAKE mode the compiler calculates module dependencies
(using IMPORT clauses) and then recompiles all modules that
necessary.
Starting from the files in the command line it tries to find an
Oberon module or a definition and implementation module for each
imported module. It then tries to do the same for each of the
imported modules until al